package com.manelrodriguez.applications.eurostoxx50.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import com.manelrodriguez.applications.eurostoxx50.R;
import com.manelrodriguez.applications.eurostoxx50.bo.MovimientoBO;
import com.manelrodriguez.applications.eurostoxx50.to.Empresa;
import com.manelrodriguez.applications.eurostoxx50.to.Movimiento;
import com.manelrodriguez.applications.eurostoxx50.utils.Constantes;

public class CarteraAddIemActivity extends Activity implements OnClickListener{
	private Spinner spinner;
	private EditText et_precio;
	private EditText et_comision;
	private EditText et_cantidad;
	private Movimiento movimiento;
	private Button bt;
	private MovimientoBO movBO;
	private Movimiento mov;
	private boolean actualizar = false;
	private int idMovimiento = -1;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.cartera_add_item);
		movBO = new MovimientoBO(this);
	    spinner = (Spinner) findViewById(R.id.sp_add_cartera_1);
	    et_cantidad = (EditText) findViewById(R.id.editText1);
	    et_precio = (EditText) findViewById(R.id.editText2);
	    et_comision = (EditText) findViewById(R.id.editText3);
	    bt = (Button) findViewById(R.id.bt_add_cartera_1);
	    
	    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.empresas_array, android.R.layout.simple_spinner_item);
	    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
	    spinner.setAdapter(adapter);
	    bt.setOnClickListener(this);
	    actualizar = false;
	    
	    Bundle extras = getIntent().getExtras();
		if (extras != null){
			Intent i = getIntent();
			idMovimiento = (Integer) i.getIntExtra(Constantes.MOVIMIENTO, -1);
			if(idMovimiento!=-1){
				movBO = new MovimientoBO(this);
				mov = movBO.getMovimiento(idMovimiento);
				et_precio.setText(String.valueOf(mov.getPrecioUnitario()));
				et_comision.setText(String.valueOf(mov.getComision()));
				et_cantidad.setText(String.valueOf(mov.getNumAcciones()));
				String empresa = Empresa.getIdEmpresaString(mov.getIdEmpresa(),this);
				int position = adapter.getPosition(empresa);
				spinner.setSelection(position,true);
				actualizar = true;
			}
		}
	    
	}

	public void onClick(View v) {
		switch(v.getId()){
		case R.id.bt_add_cartera_1:
			if(et_precio.getText().toString().equals("") || et_cantidad.getText().toString().equals("")){
				Toast.makeText(this,getString(R.string.errorVacio), Toast.LENGTH_SHORT).show();
				break;
			}
			if(et_comision.getText().toString().equals("")){
				et_comision.setText("0");
			}
			double precioCompra = Double.valueOf(et_precio.getText().toString()) * Double.valueOf(et_cantidad.getText().toString());
			String empresaName = spinner.getSelectedItem().toString();
			movimiento = new Movimiento(0,Empresa.getCodeString(empresaName),Double.valueOf(et_cantidad.getText().toString()),
					Double.valueOf(et_precio.getText().toString()),Double.valueOf(et_comision.getText().toString()),precioCompra);
			if(actualizar){
				movBO.actualizarMovimiento(idMovimiento, movimiento);
				movimiento.setIdMovimiento(idMovimiento);
			}else{
				movBO.guardarMovimiento(movimiento);
			}
			Intent data = new Intent();
			data.putExtra("MOVIMIENTO",movimiento);
			setResult(RESULT_OK,data);
			
			finish();
			break;
		}
	}
}
